<?php

class UF {
  
  /**
   * Não trata exceções. Pode lançar exceções lançadas por objetos DBUtils.
   * 
   * O array de UF é melhorado com um item "-" => "-". Serve para dizer que nenhum UF foi selecionado.
   * 
   * @param DBUtils $db
   */
  public static function getAllUFS(DBUtils $db = null) {
    $wasNull = false;
    if($db === null) {
      $db = new DBUtils();
      $db->connect();
      $wasNull = true;
    }
    
    $ufs = array("-" => "-");
    $db->runQuery("select uf, nome from UF");
    for($item = $db->getItem(); $item !== null; $item = $db->getItem()) {
      $ufs[$item->uf] = $item->nome;
    }
    
    if($wasNull) {
      $db->close();
    }
    return $ufs;
  }
  
}

